package hui.com.authority;

import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;

/**
 * 捕获权限异常，并返回给前端。
 * 自定义异常类  AuthorityException
 *
 */
@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(AuthorityException.class)
    public ResponseEntity<String> handleCustomAuthorizationException(AuthorityException ex) {
        // FORBIDDEN是拒绝访问(前端因为被拒绝，报错)，你可以自定义是表示通过还是拒绝
        return new ResponseEntity<>(ex.getErrorMessage(), HttpStatus.FORBIDDEN);
        // OK是正常访问(前端不会报错，但是因为这是报错拦截。所以只能接受我拦截时自定义的值)，你可以自定义是表示通过还是拒绝。
        //return new ResponseEntity<>(ex.getErrorMessage(), HttpStatus.OK);

    }
}
